package com.sc.lindada.model.dto.question;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import lombok.Builder;

import java.util.List;

/**
 * 问题内容数据传输对象类
 * 用于封装问题及其选项的相关信息，便于数据传输和处理。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QuestionContentDTO{
    /**
     * 问题的标题
     */
    private String title;


    /**
     * 问题的选项列表
     * 每个选项包含结果描述、得分、选项值和选项键等信息。
     */
    private List<Option> options;

    /**
     * 选项数据传输对象类
     * 用于封装问题选项的具体内容，包括选项的结果、得分、值和键等信息。
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    public static class Option {
        /**
         * 选项对应的结果描述
         * 例如：“正确”或“错误”等描述。
         */
        private String result;

        /**
         * 选项对应的得分
         * 用于表示选择该选项后的得分情况。
         */
        private int score;

        /**
         * 选项的值
         * 用于表示选项的具体内容。
         */
        private String value;

        /**
         * 选项的键
         * 用于唯一标识一个选项，可能在系统中用于关联或查找。
         */
        private String key;
    }
}

